package cn.lblbc.downloadlib.database;

import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;

/**
 * 下载文件实体（对应 download_files 表）
 */
@Entity(tableName = "download_files")
public class DownloadFileEntity {
    @PrimaryKey
    @ColumnInfo(name = "file_id")
    private long fileId;

    @ColumnInfo(name = "task_id")
    private long taskId;

    @ColumnInfo(name = "file_url")
    private String fileUrl;

    @ColumnInfo(name = "file_name")
    private String fileName;

    @ColumnInfo(name = "file_type")
    private String fileType;

    @ColumnInfo(name = "file_size")
    private long fileSize;

    @ColumnInfo(name = "downloaded_size")
    private Long downloadedSize;

    @ColumnInfo(name = "status")
    private int status;

    @ColumnInfo(name = "local_path")
    private String localPath;

    @ColumnInfo(name = "md5")
    private String md5;

    @ColumnInfo(name = "create_time")
    private long createTime;

    @ColumnInfo(name = "update_time")
    private long updateTime;

    public long getFileId() {
        return fileId;
    }

    public void setFileId(long fileId) {
        this.fileId = fileId;
    }

    public long getTaskId() {
        return taskId;
    }

    public void setTaskId(long taskId) {
        this.taskId = taskId;
    }

    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public long getFileSize() {
        return fileSize;
    }

    public void setFileSize(long fileSize) {
        this.fileSize = fileSize;
    }

    public Long getDownloadedSize() {
        return downloadedSize;
    }

    public void setDownloadedSize(Long downloadedSize) {
        this.downloadedSize = downloadedSize;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getLocalPath() {
        return localPath;
    }

    public void setLocalPath(String localPath) {
        this.localPath = localPath;
    }

    public String getMd5() {
        return md5;
    }

    public void setMd5(String md5) {
        this.md5 = md5;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
    }
}